
/*

///下单验证

	引入JS：http://pic.lvmama.com/js/order/validation.js

	//调用表单验证验证：
    lv_validation.init({
        input:$('.js_yz'), //绑定校验的对象
        isHide:false//是否验证隐藏元素
    });


    //检测全部填写是否完成：
    if (lv_validation.allok()) {
        alert('全部验证通过');
    };

	验证绑定说明：
	1、input绑定验证：只需在input上加一个class，再增加一个验证类型type_name="xxx" 即可。
	2、type_name的类型:chinese（中文姓名），english（英文姓名），username（中英文姓名），mobile(手机)，email（邮箱），user_ID（证件号码），youbian（邮政编码），text（非空校验）
	3、当type_name="text"。这个类型的报错信息需要在input上定义一个报错信息data-error="错误提示"，如果不定义会自动取placeholder属性值提示，如果placeholder也没定义就只会提示“错误”2字。
	4、设置表单为非必填项，但是输入了就会进行校验的方法：optional="true" ，同时干掉前面字段的*标识。
	5、验证码的异步校验，前端不做校验，后端自行验证。




*/




var lv_validation = {
		//初始化调用
		init:function(data){
			var This = this;
			var obj = this.obj = data.input,
				isHide = this.isHide = data.isHide;
			//单个blur校验
			$(obj).live('blur',function(){
				This.thisYz($(this),isHide);
			})
		},
		allok:function(){
			var thisInput = this.obj;
			for(var i=0;i<$(thisInput).length;i++){
				this.thisYz($(thisInput).eq(i),this.isHide);
			};

			for(var i=0;i<$('.yz_error').length;i++){
				var $yz_error = $('.yz_error').eq(i);
				if($yz_error.is(':visible')){
					$('.yz_error').eq(0).focus();
					return false;
				}
			};
			return true;
		},
		errorHtml:function(This,text){
			This.addClass('yz_error').siblings('.error_text').css('display','inline-block').html('<i class="tip-icon tip-icon-error"></i>'+ text +'。').siblings('.ts_text').hide();
		},
		okHtml:function(This){
			This.removeClass('yz_error').siblings('.error_text').css('display','none').siblings('.ts_text').show();
		},
		enErrorHtml:function(This,text){//验证英文字母
			This.addClass('yz_error').css('border-color','#f30').parents('.orderDl').siblings('.error_text').css('display','inline-block').html('<i class="tip-icon tip-icon-error"></i>'+ text +'。');
		},
		enOkHtml:function(This){
			This.removeClass('yz_error').attr('style','').parents('.orderDl').siblings('.error_text').css('display','none');
		},
		// novaAdressErrorHtml:function(This,text){
		// 	This.parent().siblings('.error_text')
		// },
		//禁止字符规则
		addresseeRealNameRuleList1 :[
			"先生",
			"小姐",
			"女士"
		],
		testRealNameValidate:function(realName) {

			//去除空白字符
			realName = realName.replace(/\s/g, "");

			//以下四种限制不能提交：1.小姐 2.先生 3.填一个字的 4.女士

			//3.填一个字的
			if (realName.length <= 1) {
				return false
			}

			//1.小姐
			//2.先生
			//4.女士
			for (var i = 0; i < this.addresseeRealNameRuleList1.length; i++) {
				var addresseeRealNameRule = this.addresseeRealNameRuleList1[i];
				if (realName.indexOf(addresseeRealNameRule) !== -1) {
					return false
				}
			}

			return true;
		},
		thisYz:function(This,isHide){ //1、当前input对象。2、是否验证影藏元素


			//不验证影藏元素
			if(This.is(':visible') || isHide){
				var _mobile = /^1[3-9]\d{9}$/;
				var _email = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
				var isIDCard2= /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
				var _english = /^[a-zA-Z\s]+$/;
				var _username = /^[a-zA-Z\u4e00-\u9fa5]+$/;
				var _invoicename = /^[a-zA-Z0-9\u4e00-\u9fa5]+$/;
				var _passportname = /^([a-zA-Z])+\/+([a-zA-Z])+$/;
				var _chinese = /^[\u4e00-\u9fa5]+$/;
				var _chineseOrPinyin = /^[a-zA-Z\u4e00-\u9fa5]+$/;
				var _youbian = /^\d{6}$/;
				var _address = /^[^\s][\u4E00-\u9FA5A-Za-z0-9-\s]+$/;

				//中英文姓名混验（10个中文，14个字母）
				var _engChinaName = /(^[\u4e00-\u9fa5]{1}[\u4e00-\u9fa5\.·。]{0,8}[\u4e00-\u9fa5]{1}$)|(^[a-zA-Z]{1}[a-zA-Z\s]{0,12}[a-zA-Z]{1}$)/;

				var _companyname = /^[a-zA-Z\u4e00-\u9fa5\(\)\（\）\-]+$/;
				// var _taxpayer = /^[A-Z0-9]{20}$|^[A-Z0-9]{18}$|^[A-Z0-9]{15}$/;
				var _taxpayer = /^[a-zA-Z0-9\u4e00-\u9fa5]+$/;
				var _telephone = /^[\d\-]{7,15}$/;
				// var _bankNumber = /^[A-Za-z0-9]{10,25}$/;
				var _bankNumber = /^[0-9]{10,25}$/;

				//var _telephone1 = /(?:\(?[0\+]\d{2,3}\)?)/;
				var _telephone1 = /(?:\(?[0\+]?\d{1,3}\)?)[\s-]?/;
				var _telephone2 = /^0\d{2,3}$/;
				//var _telephone3 = /(?:[\d]{7,8}|[\d]{3,4}[\s-][\d]{3,4})$/;
				var _telephone3 = /^\d{7,8}(|([-\u8f6c]{1}\d{1,5}))$/;

				var value = $.trim(This.val());
				var optional = This.attr('optional');
				var thisP = This.parent();

				//验证是否输入文字
				if(This.attr('type_name')=='text'){
					var error_tips = This.attr('data-error');
					if(!error_tips){
						error_tips = This.attr('placeholder');
						if(!error_tips){
							error_tips = '错误';
						}
					}

					if(value=='' && optional!="true"){
						this.errorHtml(This,error_tips);
					}else{
						this.okHtml(This);
					}
					return;
				};

				//验证中英文姓名
				if(This.attr('type_name')=='username'){
					console.log('收件人姓名');
					if( value=='' && optional!="true"){
						this.errorHtml(This,'请输入姓名');
					}else if(!_username.test(value) && value!=''){
						this.errorHtml(This,'姓名只能包含汉字、字母和空格，请重新输入');
					}else{
						this.okHtml(This);
					}
					return;
				};

				//中英文姓名混验（用在供应商招商，限10个中文或14个英文）
				if(This.attr('type_name')=='engChinaName'){
					if( value=='' && optional!="true"){
						this.errorHtml(This,'请输入姓名');
					}else if(!_engChinaName.test(value) && value!=''){
						if(_chinese.test(This.val()) && value.length > 10) {
							this.errorHtml(This,'最多可输入10个中文字符');
						} else if(_english.test(This.val()) && value.length > 14 ){
							this.errorHtml(This,'最多可输入14个英文字符');
						} else {
							this.errorHtml(This,'姓名只能包含汉字、字母和空格，请重新输入');
						}
					} else{
						this.okHtml(This);
					}
					return;
				};

				//英文姓名 出境酒店
				if(This.attr('type_name')=='english'){
					if(value=='' && optional!="true"){
						this.enErrorHtml(This,'请输入英文姓、名');
					}else if(!_english.test(value) && value!=''){
						this.enErrorHtml(This,'英文姓名只能包含字母，请重新输入');
					}else{
						this.enOkHtml(This);
					}
					return;
				}

				//英文姓名 标准
				if(This.attr('type_name')=='english2'){
					if(value=='' && optional!="true"){
						this.errorHtml(This,'请输入英文姓、名');
					}else if(!_english.test(value) && value!=''){
						this.errorHtml(This,'英文姓名只能包含字母，请重新输入');
					}else{
						this.okHtml(This);
					}
					return;
				}


				//验证护照姓名
				if(This.attr('type_name')=='passportname'){
					if( value=='' && optional!="true"){
						this.errorHtml(This,'请输入姓名');
					}else if(_passportname.test(value)){
						this.okHtml(This);
					}else if(!_username.test(value)){
						this.errorHtml(This,'姓名只能包含汉字、字母和空格，请重新输入');
					}else if(_english.test(value)){// || _passportname.test(value)
						this.errorHtml(This,'英文名请用“/”分割');
					}else{
						this.okHtml(This);
					};
					return;
				};


				//验证汉字
				if(This.attr('type_name')=='chinese'){
					if( value==''){
						this.errorHtml(This,'请输入中文姓名');
					}else if( value.length<2){
						this.errorHtml(This,'姓名至少包含两个汉字，请重新输入');
					}else if(!_chinese.test(This.val())){
						this.errorHtml(This,'中文姓名只能包含汉字，请重新输入');
					}else{
						this.okHtml(This);
					}
					return;
				};


				//验证处境中文名
				if(This.attr('type_name')=='chineseOrPinyin'){
					if( This.val()==''){
						this.errorHtml(This,'请输入中文姓名，无中文姓名或有生僻字可用拼音代替');
					}else if(!_chineseOrPinyin.test(This.val())){
						this.errorHtml(This,'不可填写特殊字符（只能填写中文或英文）');
					}else{
						this.okHtml(This);
					}
					return;
				};

				//验证收件人名字
				if(This.attr('type_name')=='chinese_name'){
					console.log(this.testRealNameValidate(value),'niuchen');
					if( value==''){
						this.errorHtml(This,'请输入中文姓名');
					}else if(!_chinese.test(This.val())){
						this.errorHtml(This,'中文姓名只能包含汉字，请重新输入');
					}else if(!this.testRealNameValidate(value)){
						this.errorHtml(This,'收件人请填写真实姓名');
					}else{
						this.okHtml(This);
					}
					return;
				};
				//验证发票抬头
				if(This.attr('type_name')=='fapiao'){
					if( value==''){
						this.errorHtml(This,'请输入发票抬头');
					}else if(!_chinese.test(This.val())){
						this.errorHtml(This,'发票抬头只能包含汉字，请重新输入');
					}else{
						this.okHtml(This);
					}
					return;
				};

				//验证发票抬头公司名称
				if(This.attr('type_name')=='invoice-company'){
					if(This.val()=='' && optional!="true"){
						this.errorHtml(This,'请输入公司抬头');
					}else if(!_companyname.test(This.val()) && This.val()!=''){
						this.errorHtml(This,'发票抬头不可填写任何特殊符号和空格');
					}else{
						this.okHtml(This);
					}
					return;
				}
				//验证发票抬头个人名称
				if(This.attr('type_name')=='invoice-name'){
					if( This.val()=='' && optional!="true"){
						this.errorHtml(This,'请输入个人抬头');
					}else if(!_invoicename.test(This.val()) && This.val()!=''){
						this.errorHtml(This,'发票抬头不可填写任何特殊符号和空格');
					}else{
						this.okHtml(This);
					}
					return;
				};
				//验证信用卡号
				if(This.attr('type_name')=='creditCard'){
					if( value=='' || isNaN(value) || value.length<15 || value.length>16){
						this.errorHtml(This,'请输入信用卡15位或16位卡号');
					}else{
						this.okHtml(This);
					}
					return;
				};

				//验证抵现数字
				if(This.attr('type_name')=='number'){
					if( value=='' && This.prev().find('input').attr('checked') || isNaN(value) && This.prev().find('input').attr('checked') ||  isNaN(value) && This.prev().find('input').length==0 ||  value=='' && This.prev().find('input').length==0){
						this.errorHtml(This);
					}else{
						this.okHtml(This);
					}
					return;
				};


				//验证手机
				if(This.attr('type_name')=='mobile'){
					if(value=='' && optional!="true"){
						this.errorHtml(This,'请输入手机号');
					}else if(value.length==11 && !_mobile.test(value)){
						this.errorHtml(This,'暂不支持您输入的号码段，请联系驴妈妈客服<span class="c_f60">1010-6060</span>进行反馈');
					}else if(!_mobile.test(value) && value!=''){
						this.errorHtml(This,'手机号码必须为11位的数字，请重新输入');
					}else{
						this.okHtml(This);
					}
					return;
				};

				//验证邮箱
				if(This.attr('type_name')=='email'){
					if(value=='' && optional!="true"){
						this.errorHtml(This,'请输入邮箱地址');
					}else if(value.length>100){
						this.errorHtml(This,'邮箱最多输入100个字符');
					}else if(!_email.test(value) && value!=''){
						this.errorHtml(This,'电子邮箱格式不正确，请重新输入');
					}else{
						this.okHtml(This);
					}
					return;
				};
				//验证身份证
				if(This.attr('type_name')=='user_ID'){
				    if(value=='' && optional!="true"){
						this.errorHtml(This,'请输入证件号码');
					}else if(!this.isIdCardNo(value) && This.siblings('select').val() == 'ID_CARD' && value!=''){

						this.errorHtml(This,'请输入正确的身份证号码');
					}else{
						this.okHtml(This);
					}
					return;
				};
				//验证多个身份证是否重复
				if(This.attr('type_name')=='user_ID_Unique' && This.attr('difference_target')){
					if(value=='' && optional!="true"){
						this.errorHtml(This,'请输入证件号码');
					}else if(!this.isIdCardNo(value) && This.siblings('select').val() == 'ID_CARD' && value!=''){
						this.errorHtml(This,'请输入正确的身份证号码');
					}else{
					}
					var hash = {};
					var aa = This.attr('difference_target');
					var repeatItems=[];
					$("[difference_target='"+aa+"']").each(function(index,item){
						if($(item).val()){
							if(hash[$(item).val()]){
								hash[$(item).val()]=hash[$(item).val()]+1
							}else{
								hash[$(item).val()]=1;
							}
						}
					})
					for (var key in hash) {
						if(hash[key]>1){
							repeatItems.push(key)
						}
					}
					var aa = This.attr('difference_target');
					var that=this;
					$("[difference_target='"+aa+"']").each(function(index,item){
						if(that.isIdCardNo($(item).val()) && $(item).siblings('select').val() == 'ID_CARD'){
							that.okHtml($(item));
						}
						if($(item).siblings('select').val() != 'ID_CARD'&&$(item).val()!==''){
							that.okHtml($(item));
						}
						if(repeatItems.indexOf($(item).val())>-1){
							that.errorHtml($(item),'证件号码输入有重复');
						}
					})

					return;
				};
				//验证身份证是否成人
                if(This.attr('type_name')=='user_ID_Adult'){
                    if(value=='' && optional!="true"){
                        this.errorHtml(This,'请输入证件号码');
                    }else if(!this.isIdCardNo(value) && This.siblings('select').val() == 'ID_CARD' && value!=''){

                        this.errorHtml(This,'请输入正确的身份证号码');
                    }else if(this.getAge(value)<12 && This.siblings('select').val() == 'ID_CARD' && value!=''){

                        this.errorHtml(This,'请填写成人的证件号哦~');
                    }else{
                        this.okHtml(This);
                    }
                    return;
                };

                //验证身份证是否儿童
                if(This.attr('type_name')=='user_ID_Kid'){
                    if(value=='' && optional!="true"){
                        this.errorHtml(This,'请输入证件号码');
                    }else if(!this.isIdCardNo(value) && This.siblings('select').val() == 'ID_CARD' && value!=''){

                        this.errorHtml(This,'请输入正确的身份证号码');
                    }else if(this.getAge(value)>=12 && This.siblings('select').val() == 'ID_CARD' && value!=''){

                        this.errorHtml(This,'当前输入的年龄为'+ this.getAge(value) +'岁, 不符合儿童年龄标准：2-12周岁(不含)');
                    }else{
                        this.okHtml(This);
                    }
                    return;
                };

                //验证生日是否成人
                if(This.attr('type_name')=='birthday_Adult'){
                    var error_tips = This.attr('data-error');
                    if(!error_tips){
                        error_tips = This.attr('placeholder');
                        if(!error_tips){
                            error_tips = '错误';
                        }
                    }
                    if(value=='' && optional!="true"){
                        this.errorHtml(This,error_tips);
                    }else if(this.getAgeDate(value)<12 && value!=''){

                        this.errorHtml(This,'请填写成人的生日哦~');
                    }else{
                        this.okHtml(This);
                    }
                    return;
                };

                //验证生日是否儿童
                if(This.attr('type_name')=='birthday_Kid'){
                    var error_tips = This.attr('data-error');
                    if(!error_tips){
                        error_tips = This.attr('placeholder');
                        if(!error_tips){
                            error_tips = '错误';
                        }
                    }
                    if(value=='' && optional!="true"){
                        this.errorHtml(This,error_tips);
                    }else if(this.getAgeDate(value)>=12 && value!=''){

                        this.errorHtml(This,'当前输入的年龄为'+ this.getAgeDate(value) +'岁, 不符合儿童年龄标准：2-12周岁(不含)');
                    }else{
                        this.okHtml(This);
                    }
                    return;
                };

				//验证地址
				if(This.attr('type_name')=='city'){
					var cityOK = function(){
						var city_select = This.parent().find('.js_yz');
						for (var i = 0; i < city_select.length; i++) {
							var thisVal = city_select.eq(i).val();
							if(/选择/.test(thisVal)){return false;}
						};
						return true;
					}

					if(/选择/.test(value) || !cityOK()){
						this.errorHtml(This,'请选择省份、城市');
					}else{
						this.okHtml(This);
					}
					return;
				};

				//验证地址
				if(This.attr('type_name')=='address'){
					if(This.val()=='' && optional!="true" || optional!="true" && This.val().length<5){
						this.errorHtml(This,'详细地址不能为空，且不小于五位');
					}else if (!_address.test(This.val())  && This.val()!='' ) {
						this.errorHtml(This,'请输入正确的详细地址');
					} else {
						this.okHtml(This);
					}
					return;
				};

				//验证英文地址
				if(This.attr('type_name')=='enaddress'){
					if(value=='' && optional!="true" || optional!="true" && value.length<5){
						this.errorHtml(This,'请输入正确的英文酒店地址');
					}else if(!_english.test(value)){
						this.errorHtml(This,'英文酒店地址只能为英文和空格');
					}else{
						this.okHtml(This);
					}
					return;
				};

				//验证邮编
				if(This.attr('type_name')=='youbian'){
					if(value=='' && optional!="true"){
						this.errorHtml(This,'邮政编码只能为6位数字，请重新输入');
					}else if(!_youbian.test(value) && value!=''){
						this.errorHtml(This,'邮政编码只能为6位数字，请重新输入');
					}else{
						this.okHtml(This);
					}
					return;
				};

				//验证用车---英文
				if(This.attr('type_name')=='useCar_english'){
					if( value=='' || !_english.test(value)){
						thisP.addClass('error_show');
					}else{
						thisP.removeClass('error_show');
					}
					return;
				};

				//纳税人识别号
				if(This.attr('type_name')=='taxpayer'){
                    if(This.val()==''){
                        this.errorHtml(This,'请输入纳税人识别号');
                        return false;
                    }else if(/\s|\#|\;|\*|\.|\!|\,|\-|\@|\！|\~|\?|\？/.test(value)){
                    	this.errorHtml(This,'纳税人识别号不可填写任何特殊符号和空格');
                        return false;
                    }else if(!_taxpayer.test(value)){
                    	if (value.length==15 || value.length==18 || value.length==20) {
                    		this.errorHtml(This,'纳税人识别号只能包含大写字母和数字');
	                	}else{
	                		this.errorHtml(This,'请输入正确的纳税人识别号');
	                	};
					    return false;
					// }else if(!_taxpayer.test(This.val()) && This.val()!=''){
					// 	this.errorHtml(This,'纳税人识别号不可填写任何特殊符号和空格');
					// 	return false;
                    }else{
                        this.okHtml(This);
                    }
                    return;
                };

                //公司注册电话
				if(This.attr('type_name')=='telephone'){
                    if(value=='' && optional!="true"){
                        this.errorHtml(This,'请输入电话号码');
                        return false;
                    }else if(!_telephone.test(value) && value!=''){
                        this.errorHtml(This,'请输入正确的电话号码');
                        return false;
                    }else{
                        this.okHtml(This);
                    }
                    return;
                };


                //公司开户银行账号
                if(This.attr('type_name')=='bankNumber'){
                    if(This.val()=='' && optional!="true"){
                        this.errorHtml(This,'请输入银行账号');
                        return false;
                    }else if(!_bankNumber.test(This.val()) && This.val()!=''){
						if(/^[0-9]+$/.test(This.val())){
							this.errorHtml(This,'银行账号位数只能为10到25位之间');
						}else{
							this.errorHtml(This,'银行账号不可填写字母特殊符号或是空格');
						}
						return false
						// if (This.val().length<10||This.val().length>25) {
						// 	this.errorHtml(This,'银行账号位数只能为10到25位之间');
						// 	return false;
						// } else {
						// 	this.errorHtml(This,'银行账号不可填写字母特殊符号或是空格');
						// 	return false;
						// }
                    }else{
                        this.okHtml(This);
                    }
                    return;
                };

                //文字限制字数，并不包括特殊符号
                if(This.attr('type_name')=='text_max'){
                	var error_tips = This.attr('data-error'),
                		maxLen = This.attr('data-max');
					if(!error_tips){
						error_tips = This.attr('placeholder');
						if(!error_tips){
							error_tips = '错误';
						}
					}
					if (value=='' && optional!="true") {
						this.errorHtml(This,error_tips);
					} else if(/\#|\;|\*|\.|\!|\,|\-|\@|\！|\~|\?|\？/.test(value)){
                        this.errorHtml(This,'不可出现特殊字符');
                        return false;
                    } else {
                    	if (value.length > maxLen) {
                    		this.errorHtml(This,'超出了限定字数'+ maxLen +'字');
                        	return false;
                    	} else {
                    		this.okHtml(This);
                    	}
                    }
                    return;
                };

                //拆分的固定电话
                if(This.attr('type_name')=='telephone_123'){
                	var phone_li = This.parent().find('.js_yz'),
                		self = this;
                	var val1 = phone_li.eq(0).val(),
                		val2 = phone_li.eq(1).val(),
                		val3 = phone_li.eq(2).val();
                	var phoneOK = function() {
                		if (!_telephone1.test(val1) || !_telephone2.test(val2) || !_telephone3.test(val3)) {
                			return false;
                		}
                		return true;
                	}
                    if(value=='' && optional!="true"){
                        this.errorHtml(This,'此项为必填');
                        return false;
                    }else {
                    	if (phoneOK() || (val1 === '' && val2 === '' && val3 === '')) {
                    		phone_li.each(function(){
	                      		self.okHtml($(this))
	                      	})
                    	} else if(/86/.test(val1)) {
                    		if(!_telephone1.test(val1)){
		                        this.errorHtml(phone_li.eq(0),'请输入正确的国际区号');
		                        return false;
		                    }else if(!_telephone2.test(val2)){
		                    	this.errorHtml(phone_li.eq(1),'请输入正确的区号');
		                        return false;
		                    }else if(!_telephone3.test(val3)){
		                    	this.errorHtml(phone_li.eq(2),'请输入正确的电话号码');
		                        return false;
		                    }
                    	} else {
                    		if(!_telephone1.test(val1)){
		                        this.errorHtml(phone_li.eq(0),'请输入正确的国际区号');
		                        return false;
		                    }else if(!/^\d{1,4}$/.test(val2)){
		                    	console.log(val2);
		                    	this.errorHtml(phone_li.eq(1),'请输入正确的区号');
		                        return false;
		                    }else if(!/^\d{1,14}$/.test(val3)){
		                    	console.log(val3);
		                    	this.errorHtml(phone_li.eq(2),'请输入正确的电话号码');
		                        return false;
		                    }
		                    phone_li.each(function(){
	                      		self.okHtml($(this))
	                      	});
                    	}
                    }
                    return;
                };

                //验证nova checkbox
                if (This.attr('type_name')=='nova_check') {
                	var error_tips = This.attr('data-error');
                    if(!error_tips){
                       error_tips = '此项为必选';
                    }
                	var novaCheck = $('[name='+ This.parent().find('input[type=checkbox]').attr('name') +']:checked');
                	if (!novaCheck.length && optional!="true") {
                		this.errorHtml(This.parent(),error_tips);
		                return false;
                	}else{
                		this.okHtml(This.parent());
                	}
                	return;
                };

                //验证国际手机或中国手机
                if (This.attr('type_name') == 'intChinaMobile') {
                	var error_tips = This.attr('data-error');
                	if(!error_tips){
						error_tips = This.attr('placeholder');
						if(!error_tips){
							error_tips = '错误';
						}
					}
					if (value=='' && optional!="true") {
						this.errorHtml(This,'此项为必填');
					// } else if(!/^[0\+]\d{2,3}(\(\s*\d+\s*\)|\d+)(\s*-?\s*(\(\s*\d+\s*\)|\s*\d+\s*))*\s*$|^1[3-9]\d{9}$/.test(value)){
					 //	this.errorHtml(This,'手机填写不正确,若为国际手机号，请以+开头');
                    } else if(/^[\+|00]/.test(value)  && !/[\+|00](9[976]\d|8[987530]\d|6[987]\d|5[90]\d|42\d|3[875]\d|2[98654321]\d|9[8543210]|8[6421]|6[6543210]|5[87654321]|4[987654310]|3[9643210]|2[70]|7|1)\d{1,14}$/.test(value) ){
                    	this.errorHtml(This,'国际手机号填写不正确');
                    } else if(!/^[\+|00]/.test(value) && !/^1[3-9]\d{9}$/.test(value)) {
                    	this.errorHtml(This,'国内手机号填写不正确');
                    } else {
                    	this.okHtml(This);
                    }
                	return;
                }


			}//检测是否可见，只验证可见元素
		},
		isIdCardNo:function(num) {
		    num = num.toUpperCase();
		    if (!(/(^\d{15}$)|(^\d{17}([0-9]|X)$)/.test(num)) || num=='111111111111111') {
		        return false;
		    }
		    //校验位按照ISO 7064:1983.MOD 11-2的规定生成，X可以认为是数字10。
		    var len, re;
		    len = num.length;
		    if (len == 15) {
		        re = new RegExp(/^(\d{6})(\d{2})(\d{2})(\d{2})(\d{3})$/);
		        var arrSplit = num.match(re);
		        //检查生日日期是否正确
		        var dtmBirth = new Date('19' + arrSplit[2] + '/' + arrSplit[3] + '/' + arrSplit[4]);
		        var bGoodDay;
		        bGoodDay = (dtmBirth.getYear() == Number(arrSplit[2])) && ((dtmBirth.getMonth() + 1) == Number(arrSplit[3])) && (dtmBirth.getDate() == Number(arrSplit[4]));
		        if (!bGoodDay) {
		            return false;
		        } else {
		            //将15位身份证转成18位
		            //校验位按照ISO 7064:1983.MOD 11-2的规定生成，X可以认为是数字10。
		            var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
		            var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
		            var nTemp = 0, i;
		            num = num.substr(0, 6) + '19' + num.substr(6, num.length - 6);
		            for (i = 0; i < 17; i++) {
		                nTemp += num.substr(i, 1) * arrInt[i];
		            }
		            num += arrCh[nTemp % 11];
		            return num;
		        }
		    }
		    if (len == 18) {
		        re = new RegExp(/^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/);
		        var arrSplit = num.match(re);
		        //检查生日日期是否正确
		        var dtmBirth = new Date(arrSplit[2] + "/" + arrSplit[3] + "/" + arrSplit[4]);
		        var bGoodDay;
		        bGoodDay = (dtmBirth.getFullYear() == Number(arrSplit[2])) && ((dtmBirth.getMonth() + 1) == Number(arrSplit[3])) && (dtmBirth.getDate() == Number(arrSplit[4]));
		        if (!bGoodDay) {
		            return false;
		        }
		        else {
		            //检验18位身份证的校验码是否正确。
		            //校验位按照ISO 7064:1983.MOD 11-2的规定生成，X可以认为是数字10。
		            var valnum;
		            var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
		            var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
		            var nTemp = 0, i;
		            for (i = 0; i < 17; i++) {
		                nTemp += num.substr(i, 1) * arrInt[i];
		            }
		            valnum = arrCh[nTemp % 11];
		            if (valnum != num.substr(17, 1)) {
		                return false;
		            }
		            return num;
		        }
		    }
		    return false;
		},
		getAge:function(idnum){//传身份证ID，获取年龄
	    	function leadingZero(n){
				if(n<10){return '0'+n;}else{return ''+n;}
			}
	    	//获取身份证年月日
			var birthdayYear = parseInt(idnum.substring(6,10)),
				birthdayMonth = parseInt('1'+idnum.substring(10,14));
			//获取现在的年月日
			var date = new Date();
			var nowYear = date.getFullYear(),
				nowMonth = parseInt('1'+leadingZero(date.getMonth()+1)+leadingZero(date.getDate())),
				age = nowYear-birthdayYear;
			//判断生日是否满
			if (birthdayMonth > nowMonth) {
				age = age-1;
			};
			if (this.isIdCardNo(idnum)) {
				return age;
			}else{
				return false;
			};


		},
    	getAgeDate:function (dateStr) {
			var $date;
            if($.browser.msie){
                $date = $date.replace('-','/');
            }else {
                $date = dateStr
			};
            var dateObj = new Date($date);
            var dateTime = dateObj.getTime();
            var nowTime = Date.now();
            var age = parseInt((nowTime-dateTime)/(86400000*365))
			return age;
        }
	};






